import { IPSBIAggColumn } from './ipsbiagg-column';
import { IPSSysBIAggTableObject } from './ipssys-biagg-table-object';
import { IPSSysBICubeDimension } from './ipssys-bicube-dimension';
import { IPSSysBICubeMeasure } from './ipssys-bicube-measure';

/**
 *
 * @export
 * @interface IPSSysBIAggColumn
 */
export interface IPSSysBIAggColumn extends IPSBIAggColumn, IPSSysBIAggTableObject {
  /**
   * 立方体维度
   *
   * @type {IPSSysBICubeDimension}
   */
  getPSSysBICubeDimension(): IPSSysBICubeDimension | null;

  /**
   * 立方体维度
   *
   * @type {IPSSysBICubeDimension}
   */
  get psSysBICubeDimension(): IPSSysBICubeDimension | null;

  /**
   * 立方体维度（必须存在）
   *
   * @type {IPSSysBICubeDimension}
   */
  getPSSysBICubeDimensionMust(): IPSSysBICubeDimension;

  /**
   * 立方体指标
   *
   * @type {IPSSysBICubeMeasure}
   */
  getPSSysBICubeMeasure(): IPSSysBICubeMeasure | null;

  /**
   * 立方体指标
   *
   * @type {IPSSysBICubeMeasure}
   */
  get psSysBICubeMeasure(): IPSSysBICubeMeasure | null;

  /**
   * 立方体指标（必须存在）
   *
   * @type {IPSSysBICubeMeasure}
   */
  getPSSysBICubeMeasureMust(): IPSSysBICubeMeasure;
}
